import { OptionsProps, attrsProps } from '@/components/ProForm/interface';
import { FormProps } from 'element-plus';
import { ConfigPageEnumProps } from './tableInterface';

export interface ConfigPageBasicForm {
  ref: string;
  options: ConfigPageOptionsProps[];
  visible: boolean;
  title: string;
  width?: string;
  formCols?: number;
  formAttrs?: FormProps;
  // 初始化调用方法
  initForm?: InitFormProps;
  // 保存数据调用方法
  saveForm?: SaveFormProps;
}

interface InitFormProps {
  // 打开表单初始化的方法
  openInitForm?: Function;
}

interface SaveFormProps {
  // 提交表单方法
  submitForm?: Function;
}

export interface ConfigPageOptionsProps extends OptionsProps {
  childrenProps?: ConfigPageEnumProps;
  attrs?: AttrsProps;
}

export interface AttrsProps extends attrsProps {
  propsProps?: ConfigPageEnumProps;
}
